package com.galaxy.device.domain.bo;

import com.galaxy.common.core.validate.AddGroup;
import com.galaxy.common.core.validate.EditGroup;
import com.galaxy.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 用户反馈业务对象
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class UserFeedbackBo extends BaseEntity {

    /** 主键 */
    private Long id;

    /** 用户ID */
    private Long userId;

    /** 反馈类型(1:功能建议,2:问题投诉,3:其他) */
    @NotNull(message = "反馈类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer feedbackType;

    /** 反馈内容 */
    @NotBlank(message = "反馈内容不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /** 联系方式 */
    private String contact;

    /** 处理状态(0:未处理,1:处理中,2:已处理) */
    private Integer status;

    /** 回复内容 */
    private String reply;

    private String image;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 经度
     */
    private BigDecimal longitude;

    private Long deviceId;
}
